package com.cloud.async.error;

import com.cloud.async.result.core.body.ResultBody;

/**
 * @author february@chengr
 * @date 2025/7/27
 * @description 用于处理异步任务执行过程中的异常，允许调用方自定义错误返回逻辑。
 * @className ErrorHandler
 */
public interface ErrorHandler {

    /**
     * 处理异步任务执行过程中的异常
     *
     * @param taskId       任务ID
     * @param responseType 期望的返回类型
     * @param e            异常信息
     * @return 封装后的错误结果
     */
    <T> ResultBody<T> handleError(String taskId, Class<T> responseType, Exception e);

}
